﻿using System.Collections.Generic;
using ML.Entity;

namespace ML.IBusiness
{
    /// <summary>
    /// 收款业务接口
    /// </summary>
    public interface IReceivablesBusiness
    {
        /// <summary>
        /// 根据查询条件查询商户收款管理
        /// </summary>
        /// <param name="receivablesSearch">商户收款管理查询条件</param>
        /// <returns></returns> 
        BaseResult<Pager<ReceivablesEntity>> List(ReceivablesSearch receivablesSearch);

        /// <summary>
        /// 根据当前登录的商户Id查询商户下的所有付款方式
        /// </summary>
        /// <param name="merchantId">商户Id</param>
        /// <returns></returns>
        BaseResult<IEnumerable<DropDownList>> GetReceivablesByMerchantId(string merchantId);

        /// <summary>
        /// 添加商户收款管理
        /// </summary>
        /// <param name="entity">商户收款管理实体</param>
        /// <returns></returns>
        BaseResult<bool> Add(ReceivablesEntity entity);

        /// <summary>
        /// 修改商户收款管理
        /// </summary>
        /// <param name="entity">商户收款管理实体</param>
        /// <returns></returns>
        BaseResult<bool> Update(ReceivablesEntity entity);

        /// <summary>
        /// 设置默认非默认
        /// </summary>
        /// <param name="Id">主键Id</param>
        /// <param name="DefaultMark">默认非默认</param>
        /// <returns></returns>
        BaseResult<bool> SetDefaultMark(string Id, int DefaultMark);

        /// <summary>
        /// 删除收款
        /// </summary>
        /// <param name="id">收款Id</param>
        /// <returns></returns>
        BaseResult<bool> Delete(string id);
    }
}